home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / docs / corsoguide / hardware-1.txt < prev    next >
Text File  |  1992-09-03  |  7KB  |  105 lines

  1. L'hardware dell'Amiga
  2.  
  3. Il cuore del sistema come ben sapete è il 680x0 della Motorola; scelta
  4. decisamente giusta in quanto questo microprocessore possiede una serie di
  5. caratteristiche (trap, modo supervisore e utente ecc.) che lo rendono
  6. particolarmente efficace per il multitasking; ed è ben conosciuta la
  7. caratteristica unica dell'Amiga: i coprocessori; infatti il microprocessore
  8. è attorniato da una serie di coprocessori, ognuno dedicato ad un operazione
  9. ben specifica, che sollevano quest'ultimo dal compito di occuparsi di
  10. determinati problemi (spesso di ingresso/uscita) per dedicarsi
  11. completamente a quelli di calcolo. Come avrete sentito più volte questi
  12. processori hanno dei nomi piuttosto pittoreschi: Denise (sostituito nelle
  13. macchine AGA da Lisa), Fat Agnus (attualmente Alice), Paula, CIA (e adesso
  14. sul CD32 se ne aggiunto uno nuovo: Akiko); trascurando il perché di questi
  15. nomi tutti femminili (io veramente mi preoccuperei se venisse prodotto un
  16. integrato con un nome del tipo: Ugo!) andiamo ad analizzarne le
  17. caratteristiche. Lisa è il processore grafico, cioè colui che crea tutte le
  18. risoluzioni, determina tutte le frequenze video, insomma visualizza tutto
  19. sullo schermo; Alice forse è il più importante di tutti ed è composto da
  20. più processori messi insieme utilizzando una definizione in VLSI (Very
  21. Large Scale Integration = Integrazione a Scala Molto Grande) per
  22. compattezza e per minimizzare i costi; contiene innanzitutto il Blitter il
  23. cui nome proviene da BLIT (BLock Image Transfer = Trasferimento di Immagine
  24. a Blocchi); scopo di questo integrato è spostare blocchi di memoria
  25. rettangolari (che nella stragrande maggioranza si tratta di blocchi
  26. grafici) con operazioni logiche e ad una velocità impressionante; permette
  27. anche di tracciare linee ed eseguire il filling (riempimento) grafico;
  28. potete ben immaginare che essendo tutto ciò realizzato via hardware risulta
  29. velocissimo; in realtà grazie alla funzione logica programmabile che opera
  30. sui dati in tempo reale, se ne fà degli utilizzi più svariati e non solo
  31. per la grafica (decodifica MFM, cancellazione di memoria ecc.). Altro
  32. integrato contenuto in Alice è il Copper; questo è un velocissimo
  33. processore RISC (Reduce Instructions Set Chip = Chip con set di istruzioni
  34. ridotto) che permette solo 3 istruzioni e risulta sincronizzato al pennello
  35. video! Vale a dire che il programma del Copper può attendere una precisa
  36. posizione di quest'ultimo (e non solo in verticale) per eseguire
  37. determinate operazioni; dovete a lui la possibilità di slittare gli schermi
  38. uno sopra l'altro, infatti quando si raggiunge una determinata posizione
  39. verticale dello schermo il copper cambia i registri di Lisa inserendo i
  40. parametri del secondo schermo, e tornando all'inizio del video ripristina
  41. quelli vecchi. Fa parte di Alice anche la circuteria per la gestione e
  42. temporizzazione dei canali DMA che vedremo dopo; arriva quindi Paula il
  43. processore che si occupa sostanzialmente della generazione sonora dalle
  44. caratteristiche note a tutti. Infine ci sono due CIA (Complex Interface
  45. Adapter = Adattatore complesso di interfaccia) siglati numericamente come
  46. 8520 e che erano presenti anche nel C64! Si tratta degli integrati che
  47. regolano il flusso dei dati con l'esterno; infatti tramite loro si
  48. gestiscono drive, porta seriale e parallela, tastiera e le porte joystick.
  49. Ma non è finito qui, poiché occorre indicare dove i dati a cui questi
  50. integrati fanno riferimento vengono memorizzati (cioè dove si trovano i
  51. bitplanes contenenti i dati dello schermo per Lisa, o i suoni per Paula); e
  52. qui è presente un'altra caratteristica unica dell'Amiga, infatti tutti i
  53. dati sono conservati nella stessa memoria, accedibile anche dal
  54. microprocessore centrale; questo è sicuramente positivo, infatti su altre
  55. piattaforme se viene resa disponibile un determinato quantitativo di
  56. memoria su una scheda, ad esempio grafica, e se ne viene utilizzata solo
  57. una parte, il resto non può essere disponibile ad altre risorse del
  58. sistema; ma come è possibile che tutti gli integrati accedano
  59. contemporaneamente alla stessa memoria? Tutto ciò è in parte merito dei
  60. canali DMA (Direct Memory Access = Accesso Diretto della Memoria) che
  61. permettono a ciascun processore di prelevare i dati dalla RAM senza
  62. l'ausilio della CPU; ma ciò non esaurisce il problema, perché come tutti i
  63. "vecchi" (che non erano vecchi prima dell'avvento di Amiga) libri di
  64. informatica descrivono, quando il canale DMA accede alla memoria centrale,
  65. lascia il microprocessore libero dall'oneroso compito di trasferire i dati
  66. e dedicarsi al programma, senza però concederne l'accesso alla memoria;
  67. bene il grandioso cast di ingegneri di Amiga ha ben pensato di partizionare
  68. il tempo dedicato ad ogni canale DMA (sono 28 in tutto) e il
  69. microprocessore; mentre fra i canali DMA questo non comporta quasi nessuna
  70. limitazione (tranne per quelli del Blitter e del Copper) perché si
  71. conoscono a priori le esigenze di tempo di ciascuno, lo stesso non si può
  72. dire per il microprocessore che in un buon numero di casi è costretto ad
  73. aspettare il prossimo slot time (così si chiama il periodo di tempo
  74. concesso ad ogni canale) se quello attuale è occupato da un DMA; l'idea
  75. come era congeniata per i primi modelli funzionava bene: infatti il 68000
  76. impiegava uno slot di tempo per eseguire il "fetch" dell'istruzione (cioè
  77. prelevamento dell'istruzione e degli operandi dalla memoria) e per
  78. l'accesso alla memoria e quello successivo per la fase di "execute"
  79. dell'istruzione in cui non vi erano quasi mai accessi alla memoria; per cui
  80. si è cercato di inserire tutti i possibili accessi dei DMA negli slot pari
  81. (in cui il microprocessore era nella fase di execute) e lasciare liberi
  82. quelli dispari per il microprocessore; però anche nel sistema iniziale il
  83. microprocessore attendeva poiché in caso di utilizzo di risoluzioni elevate
  84. gli slot concessi ai DMA del Denise sconfinavano in quelli dispari; la
  85. maggior parte degli altri canali DMA (sprite, disco, audio) erano
  86. posizionati in maniera fissa e se non venivano utilizzati (perché in quel
  87. momento non si legge dal disco ad esempio) potevano essere usati dagli
  88. altri che risultano dinamici, cioè che possono utilizzare qualunque slot
  89. libero quando necessario; questi sono il microprocessore, il Blitter ed il
  90. Copper; ma con quale criterio viene scelto quello piuttosto di quell'altro
  91. per l'assegnazione? Bene, per questo sono previsti dei registri di
  92. priorità; ad esempio il Blitter ha normalmente priorità più alta del
  93. microprocessore per cui se il Blitter in un dato momento opera, al
  94. microprocessore vengono assegnati un numero minimo di slot time. La memoria
  95. che viene condivisa in questo modo, viene denominata CHIP e quindi risulta
  96. più lenta da sfruttare (vista dal microprocessore); ma può essere
  97. addizionata al sistema altra memoria che viene utilizzata solo dal
  98. microprocessore centrale e che quindi può essere sfruttata a pieno da
  99. quest'ultimo; questa viene denominata FAST (il 68020 di un A1200 con FAST
  100. memory gira circa il doppio più veloce rispetto ad uno senza). Fanno
  101. eccezione a quanto detto fino adesso, i due CIA con cui il microprocessore
  102. deve interagire direttamente; per cui sia parallela, che seriale, tastiera
  103. e porte joystick non dispongono di canali DMA (mentre il disk drive si) e
  104. devono essere gestiti dal microprocessore mediante interrupt.
  105.